Debugging the Future
How Software Engineering PhD Alum, Jenna DiVincenzo, is Revolutionizing Software Verification
In a quiet office on the campus of Purdue University, Jenna DiVincenzo stares intently at lines of code scrolling across her monitor. She's not hunting for a pesky bug or optimizing an algorithm. Instead, she's pioneering a method that could fundamentally change how we ensure software reliability: gradual verification.
"It's like building a bridge while you're walking on it," DiVincenzo explains, her eyes lighting up. "We're making formal verification accessible and practical for real-world software development."
In an era where software underpins everything from pacemakers to power grids, ensuring code correctness isn't just an academic exercise—it's a matter of public safety. Traditional methods of software verification, while robust, often prove too time-consuming and resource-intensive for many projects. DiVincenzo's work on gradual verification offers a promising middle ground.
From Small-Town Roots to Cutting-Edge Research
DiVincenzo's journey to the forefront of software engineering research wasn't a straight path. Growing up in Youngstown, Ohio, she chose to attend nearby Youngstown State University for its affordability and intimate learning environment. It was there that a seminar on women in STEM ignited her passion for research.
"They made it sound so exciting, the idea of discovering new things," DiVincenzo recalls. "I came out of that thinking, 'I want to do research. This sounds cool.'"
This newfound enthusiasm led her to research internships at MIT's Lincoln Lab and IBM, experiences that would later shape her approach to bridging theoretical computer science with real-world applications.
"Every challenge is an opportunity for innovation. That's what drew me to this field in the first place."
The Carnegie Mellon Crucible
When it came time to choose a Ph.D. program, Carnegie Mellon University's Software and Societal Systems Department (S3D) stood out. "They treated me like I came from Stanford or something," DiVincenzo says, describing her pre-admission visit. "They just really wanted to chat with me about research and my experiences."
This welcoming atmosphere, coupled with CMU's reputation for interdisciplinary collaboration, proved to be a perfect incubator for DiVincenzo's innovative ideas. The program's structure, which emphasizes both independent research and collaborative projects, allowed her to dive deep into the theoretical foundations of software verification while also exploring its practical applications.
Gradual Verification: A Bridge to Better Software
DiVincenzo's work on gradual verification represents a significant leap forward in the field of software engineering. By allowing developers to incrementally apply formal verification techniques, her approach makes it possible to ensure the correctness of critical software components without the need for complete, up-front specifications.
"Imagine being able to formally verify the most crucial parts of a self-driving car's software, like collision avoidance systems, while still using traditional testing methods for less critical components," DiVincenzo explains. "That's the power of gradual verification."
The implications of this work extend far beyond academia. In an industry where the pressure to ship code quickly often conflicts with the need for thorough verification, DiVincenzo's research offers a pragmatic solution. It's already garnering attention, with DiVincenzo receiving accolades including a Google Ph.D. Fellowship and being named a 2022 Rising Star in EECS.
"The collaborative culture here is unlike anything I've experienced elsewhere. Faculty are here because they want to do research with you, not just alongside you."
Challenges on the Horizon
Despite its promise, gradual verification faces hurdles. "We're still working on making it scalable for larger, more complex systems," DiVincenzo admits. "And there's always the challenge of integrating new methodologies into existing development workflows."
These challenges reflect broader issues in the field of software verification. As systems grow more complex, traditional tools struggle to keep pace. There's also a persistent shortage of skilled professionals capable of implementing advanced verification techniques.
Yet DiVincenzo remains optimistic. "Every challenge is an opportunity for innovation," she says. "That's what drew me to this field in the first place."
The CMU Advantage
DiVincenzo credits much of her success to the unique environment at CMU's S3D department. "The collaborative culture here is unlike anything I've experienced elsewhere," she says. "Faculty are here because they want to do research with you, not just alongside you."
This culture of collaboration extends beyond research. The department's Software Engineering Seminar Series for Graduates (SSSG) requires students to regularly present their work, honing crucial communication skills. "It's not just about doing great research," DiVincenzo explains. "It's about being able to explain its importance and potential impact."
Looking to the Future
Now a faculty member at Purdue University, DiVincenzo is continuing her work on gradual verification while mentoring the next generation of software engineers. She sees her research as part of a broader movement towards more reliable, secure software—a critical need in our increasingly digital world.
"We're at a turning point in software engineering," DiVincenzo says. "The methods we develop today will shape the reliability and security of the systems we'll depend on tomorrow."
As our conversation winds down, DiVincenzo's passion for her work remains palpable. In her journey from a small-town undergraduate to a rising star in computer science, she embodies the transformative potential of innovative research and supportive academic environments.
For those considering a similar path, DiVincenzo offers this advice: "Find a program that values your unique perspective and allows you to pursue your passions. And don't be afraid to tackle the big, challenging problems. That's where the real breakthroughs happen."
In a world increasingly reliant on complex software systems, the work of researchers like Jenna DiVincenzo isn't just academically interesting—it's crucial to our collective future. As she continues to debug the future of software verification, the rest of us can look forward to a world of more reliable, secure, and trustworthy technology.